home *** CD-ROM | disk | FTP | other *** search
- package com.markdavies.sound
- {
- import com.gs.TweenLite;
- import com.markdavies.net.Preloader;
- import flash.media.*;
- import flash.utils.getDefinitionByName;
-
- public class SoundCollection extends Preloader
- {
-
-
- public function SoundCollection()
- {
- super();
- }
-
- public function getItemsFromPreloader(param1:Preloader) : *
- {
- preloadItems = param1.preloadItems;
- itemRefs = param1.itemRefs;
- }
-
- public function play(param1:String, param2:Number = 1, param3:Number = 0, param4:Number = 0) : void
- {
- var r:Object = null;
- var s:Sound = null;
- var ClassReference:Class = null;
- var transform:SoundTransform = null;
- var ref:String = param1;
- var vol:Number = param2;
- var startTime:Number = param3;
- var loops:Number = param4;
- try
- {
- ClassReference = getDefinitionByName(ref) as Class;
- r = itemRefs[ClassReference];
- s = r.s;
- }
- catch(re:ReferenceError)
- {
- r = getSoundByRef(ref);
- s = r.loader;
- }
- if(r != null)
- {
- r.channel = SoundChannel(s.play(startTime,loops));
- transform = r.channel.soundTransform;
- transform.volume = vol;
- r.channel.soundTransform = transform;
- }
- }
-
- public function stop(param1:String) : void
- {
- var _loc2_:Object = null;
- _loc2_ = getSoundByRef(param1);
- if(_loc2_ != null)
- {
- if(_loc2_.channel)
- {
- _loc2_.channel.stop();
- }
- }
- }
-
- public function addLinkedItem(param1:Class) : void
- {
- if(itemRefs[param1] != null)
- {
- return;
- }
- itemRefs[param1] = new Object();
- itemRefs[param1].s = new param1();
- }
-
- public function fadeSound(param1:*, param2:Number, param3:Number) : void
- {
- var r:Object = null;
- var s:Sound = null;
- var ClassReference:Class = null;
- var ref:* = param1;
- var toVolume:Number = param2;
- var duration:Number = param3;
- try
- {
- ClassReference = getDefinitionByName(ref) as Class;
- r = itemRefs[ClassReference];
- s = r.s;
- }
- catch(re:ReferenceError)
- {
- r = getSoundByRef(ref);
- s = r.loader;
- }
- if(r != null)
- {
- TweenLite.to(r.channel,duration,{"volume":toVolume});
- }
- }
-
- public function getSoundByRef(param1:String) : Object
- {
- if(itemRefs[param1] && itemRefs[param1].type == Preloader.TYPE_SOUND && itemRefs[param1].status == Preloader.LOADED)
- {
- return itemRefs[param1];
- }
- return null;
- }
-
- public function setVolume(param1:*, param2:Number) : void
- {
- var r:Object = null;
- var s:Sound = null;
- var ClassReference:Class = null;
- var ref:* = param1;
- var toVolume:Number = param2;
- try
- {
- ClassReference = getDefinitionByName(ref) as Class;
- r = itemRefs[ClassReference];
- s = r.s;
- }
- catch(re:ReferenceError)
- {
- r = getSoundByRef(ref);
- s = r.loader;
- }
- if(r != null)
- {
- TweenLite.to(r.channel,0,{"volume":toVolume});
- }
- }
- }
- }
-